package lkx.demo.test2;

/**
 * 数组的拷贝
 *
 *  数组的拷贝分成 浅拷贝和深拷贝
 *  浅拷贝 ：只拷贝了首地址，公用同一份堆空间数据
 *  深拷贝： 复制一份对空间数据
 *
 * @author kunxianli
 * @date 2024/01/31 17:35
 **/
public class TestArrayCopy2 {

    public static void main(String[] args) {
        int[] array1,array2;
        array1 = new int[]{2,3,5,7,11,13,17,19};

//        浅拷贝
        array2 = array1;
//      修改 array2的值，也会影响array1
        array2[0] = 1;
        System.out.println(array1[0]);

//        深拷贝
        int[] array3,array4;
        array3 = new int[]{2,3,5,7,11,13,17,19};
        array4 = new int[array3.length];
        for (int i = 0; i < array3.length; i++) {
            array4[i] = array3[i];
        }

        //      修改 array3的值，不会影响array4
        array3[0] = 1;
        System.out.println(array4[0]);

    }

}
